Modern cellular packet-switched communication systems such as High Speed Packet Access (HSPA) and Long Term Evolution (LTE), both specified by the Third Generation Partnership Project (3GPP), employ a Hybrid Automatic Repeat ReQuest (HARQ) protocol in their respective Medium Access Control (MAC) layers. A fundamental function of the HARQ protocol is the correction of block errors that occur over the air interface. Forward Error Correction (FEC) coding is applied to the transmitted data so that the receiver will be able to not only detect the presence of errors in received data, but also to correct some errors. When it cannot correct all of the errors in a received block of data, a request is made for retransmission of that block so that another attempt to receive the correct data can be made.
The HARQ protocols specified in LTE and HSPA utilize so-called “HARQ processes” to transfer data. The HARQ processes are used to associate a potential retransmission with its original transmission in order to enable soft combining at the HARQ receiver. Only when the HARQ receiver has reported correct reception of the data sent on an HARQ process may that HARQ process be used to transmit new data. Consequently, before the reception of an HARQ status report from the receiver, the HARQ sender cannot know whether it should send new data or a retransmission of the “old data”. In the meantime, it therefore, “stops and waits” (hence the name of this type of operation) until it knows the result of the transmission. In order to still be able to utilize the link during these waiting periods, the mentioned systems apply a number of such HARQ processes in parallel in order to allow continuous transmission to occur. This is illustrated in FIG. 1, which is a signal flow diagram of exemplary data transmissions from a radio base station (e.g., a NodeB) to a user equipment (UE). In this example, six HARQ processes are responsible for transmitting transmission blocks (TrBlk) in respective ones of six successive transmission time intervals (TTI), each lasting 2 ms. Data is supplied by transmission buffers for transmission to the UE.
In this example, a first transmission block TrBlk1 is transmitted in HARQ process 1 (step 101). It is presumed for the sake of example that the signal becomes sufficiently corrupted through the channel (step 103) so that the corresponding HARQ process in the UE (“receiver processing 1”) will be unable to generate error-free data from the received signal. Accordingly, the receiver process 1 sends a negative acknowledgement (“NAK”) to the radio base station 105. The HARQ processes in the receiver take the same amount of time, so that the radio base station can expect to receive either a positive acknowledgement (“ACK”) or the negative acknowledgement a fixed amount of time (in this example, 5 ms) after transmission of a transmission block.
While the receiver process 1 is operating and its corresponding HARQ process on the transmit side is waiting for some sort of acknowledgement, the remaining HARQ processes in the radio base station continue to transmit their transmit blocks. In this example, this means that transmitter-side HARQ processes 2, 3, 4, 5, and 6 send their respective transmission blocks TrBlk2, TrBlk3, TrBlk4, TrBlk5, and TrBlk6.
The NAK from receiver process 1 is received at the radio base station at some point during the TTI associated with transmitter-side HARQ process 6. Recognizing that its previously transmitted transmission block (i.e., TrBlk1) was not correctly received, the transmitter-side HARQ process 1 uses its allocated TTI to retransmit that transmission block rather than transmitting a new transmission block (step 107).
In this example, the second and third transmission blocks TrBlk2, TrBlk3 were correctly received by their respective receiver processes. Consequently, following transmitter-side HARQ process 1's retransmission of the first transmission block, subsequent TTIs are used by respective HARQ processes 2 and 3 to transmit new transmission blocks TrBlk7 and TrBlk8.
In this example, it is assumed that the retransmission of the first transmission block TrBlk1 enabled the receiver process 1 to successfully generate error-free data. Accordingly, receiver process 1 returns a positive acknowledgement (ACK) to the transmitter (step 109). This enables the transmitter-side HARQ process 1 to transmit a different data block during its next allotted TTI (step 111).
To facilitate coherency of explanation, the example has focused on various aspects of the communication of the first transmission block TrBlk1 from the radio base station to the UE. However, FIG. 1 shows other successful as well as unsuccessful transmissions. For example, transmitter-side process 4's first attempt to transmit the fourth transmission block TrBlk4 also results in a corrupted signal being received by the UE (step 113). Consequently, receiver process 4 ends up returning a negative acknowledgement (step 115) which, in turn, causes transmitter-side HARQ process 4 to retransmit the fourth transmission block TrBlk4 (step 117) rather than transmitting a previously untransmitted block.
It will be apparent that, given the process as described above, correctly received transmission blocks in the UE may not be generated in order. For example, in this instance transmission blocks TrBlk2, TrBlk3. TrBlk5, and TrBlk6 are correctly received prior to error-free receipt of the first transmission block TrBlk1. Accordingly, the receiver processes supply their error-free outputs to a reordering functionality, so that the original sequence of data blocks can be recreated.
The number of hybrid ARQ processes should match the roundtrip time between the UE and the NodeB, including their respective processing time, to allow for continuous transmission to a UE. This type of matching is illustrated in the example of FIG. 1, discussed above. Using a larger number of processes than motivated by the roundtrip time does not provide any gains and only serves to introduce unnecessary delays between retransmissions. Thus, when communicating over a smaller distance (e.g., in small cells), a small number of hybrid ARQ processes should be used to minimize delays, while at larger distances (e.g., in large cells), a larger number of hybrid ARQ processes is necessary if continuous transmission is to be supported. This calls for the number of hybrid ARQ processes to be configurable.
One important part of hybrid ARQ in many embodiments is the use of soft combining. With soft combining, the receiver (for instance the terminal or UE when downlink transmissions are considered) does not discard soft information when it cannot decode a data block as would be the case with traditional hybrid ARQ protocols. Instead, the receiver combines soft information from previous transmission attempts with the current retransmission to increase the probability of successful decoding. It is known (e.g., from the document “Coding Performance of Hybrid ARQ schemes”, J.-F. Cheng, IEEE Transaction on Communications. vol. 54, no. 6, pp. 1017-1029, June 2006) that using soft information is useful for increasing the probability of successful decoding. It has also been known that the soft combining gains can be significantly enhanced if the HARQ protocol is operated in the incremental redundancy (IR) mode, in which new coded bits are sent in retransmissions, rather than in the Chase combining mode, in which the original coded packet is simply repeated in retransmissions. For instance, the additional soft combining gains for operating the IR rather than the Chase mode are shown in the graphs of FIG. 2. The additional soft combining gains of the IR HARQ mode can be quite substantial and provide larger benefits to the throughput and stability to system operations. Note that the extent of the additional IR gains depends on the rate of the mother code at which the protocol is operated. In both the WCDMA and LTE systems, rate 1/3 mother codes have been chosen to provide good coverage as well as to ensure substantial IR gains over a wide range of operating scenarios.
To implement soft combining, the receiver needs to be able to buffer the generated soft bits while waiting for a retransmission of erroneously received data. Each hybrid ARQ process must have its own buffer. Thus, the larger the number of hybrid ARQ processes, the larger the amount of buffer memory that the receive needs to be equipped with. At the same time, it is desirable to minimize the amount of soft buffer memory in order not to unnecessarily increase the device cost.
Coded bits that will not fit within the receiver's soft buffer should not be transmitted. To use the High-Speed Downlink Packet Access (HSDPA) system as an example, this problem is solved by using a two-stage rate matching arrangement, such as that which is illustrated in FIG. 3. Following generation of systematic bits as well as first and second parity bits by logic configured to apply coding to data 301, a first rate matching (RM) stage 303 is used to limit the number of coded bits to the available UE soft buffer for the hybrid ARQ process currently being addressed. The first rate matching stage 303 punctures a sufficient number of coded bits to ensure that all coded bits supplied at its output will fit in the receiver's soft buffer. A counterpart buffer 305, known as the “virtual IR buffer”, is provided at the transmitter side. (As the name implies, the buffer 305 exists on the logical level, but may not necessarily physically exist in a particular embodiment.) Hence, depending on the soft buffer size in the UE, the lowest code rate may be higher than the mother code rate (e.g., rate-1/3) in the Turbo coder. Note that if the number of bits from the channel coding does not exceed the UE soft-buffering capability, the first rate matching stage is transparent; that is, no puncturing is performed.
A second rate matching stage 305 serves two purposes:                Matching the number of bits in the virtual IR buffer to the number of available channel bits. The number of available channel bits is given by the size of the channelization-code set and the modulation scheme selected for the TTI.        Generating different sets of coded bits as controlled by the two redundancy version parameters r and s, described in the following text.        
To support full incremental redundancy, that is, to have the possibility of transmitting only/mainly parity bits in a retransmission, puncturing of systematic bits is possible as controlled by the parameter s. Setting s=1 implies that the systematic bits are prioritized and puncturing is primarily applied with an equal amount to the two parity-bit streams. On the other hand, for a transmission prioritizing the parity bits, s=0 and primarily the systematic bits are punctured.
The parameter r controls the puncturing pattern in each rate-matching block in FIG. 3 and determines which bits to puncture. Typically, r=0 is used for the initial transmission attempt. For retransmissions, the value of r is typically increased, effectively leading to a different puncturing pattern. Thus, by varying r, multiple, possibly partially overlapping, sets of coded bits representing the same set of information bits can be generated. It should be noted that changing the number of channel bits by changing the modulation scheme or the number of channelization codes also affects which coded bits are transmitted even if the r and s parameters are unchanged between the transmission attempts.
The two-stage rate matching successfully addresses the problem of not transmitting more bits than can be stored in the soft buffer. The inventors of the present invention have considered, however, that it has a number of drawbacks. For example, testing such an arrangement is cumbersome because of the large number of combinations of puncturing patterns resulting from the use of two independent stages. The inventors have further observed that the puncturing resulting from combining two independent rate matching stages may, in certain cases, be a less appropriate choice compared to a single rate matching stage.
Further, since the IR protocol is operated on the output bits of the first stage rate matcher 303, the mother code for the IR protocol is effectively changed. In particular, the effective mother code rate is raised because some coded bits are punctured as a result of the first stage rate matching and are never accessible by the IR protocol. As shown in FIG. 2, the IR gains become less and less effective as the first stage rate matcher 303 punctures away more and more coded bits. From this perspective, it can be argued that the 2-stage rate matching solution shifts the costs of reliable communication from the UE side to the system side. That is, while the solution benefits low-end UEs by allowing them to claim support of data rates higher than their soft value buffers actually permit, the system throughput can suffer from the loss of IR gains.
For at least these reasons, a single-stage rate matching scheme that is capable of supporting a variable number of hybrid ARQ processes is of interest.